package practice.Day23;

import java.util.Arrays;

/**
 * @Author quan
 * @Description
 * @Date 2023/6/7 14:43
 */
public class Num1_RedEve2 {
    /**
     * 方式2：正常解法：一个数字如果出现次数超过一半，排序之后，一定排在中间
     * @param gifts 数组
     * @param n 数组长度
     * @return
     */
    public int getValue(int[] gifts, int n) {
        //1、对数组进行排序
        Arrays.sort(gifts);
        //2、获取中间数据:也就是出现次数最多的数
        int mid = gifts[n/2];
        int count = 0;
        //3、统计中间位置的数据出现的次数
        for (int g: gifts) {
            if(g == mid){
                count++;
            }
        }
        //4、判断次数是不是超过了一半
        if(count > n/2){
            return mid;
        }else{
            return 0;
        }
    }
}
